Existing work in the area of quality of service (QoS) assurance in network systems has resulted in essentially two major protocols. The integrated service (IntServ) model provides a flexible architecture in which each end system, or destination node, in a network can ask for a specific QoS and other specific parameters. The end system signals its requests using some signaling protocol. This results in the reservation of network resources. In order to guarantee the reserved resources for a flow, each traversed core router on the path connecting the source to the destination nodes needs to maintain per-flow state information about the flow and its requested resources. To avoid data flow state inconsistency, due to node failures for example, signaling protocols often use soft state information that needs to be refreshed periodically.
The need for maintaining per-flow states and periodically refreshing these data results in scaling problems for signaling protocols when handling a large number of flows. The differentiated service (DiffServ) model was designed to avoid this problem by using service level agreements (SLAs) between the network providers and the users. These SLAs describe the QoS level the aggregated traffic of a user can expect from the provider. Traffic sent in conformance with the established SLA is marked as belonging to a specific QoS level. At the core routers, data packets are serviced differently based on their marked QoS level. As all packets with the same marks are treated equally, the core routers need only maintain information describing the resources allocated for the supported QoS levels. As the SLAs are used for traffic aggregates, there is no need for per-flow states. Additionally, with the DiffServ model only the edge elements need to police incoming traffic and take admission control decisions. Core routers are expected to be dimensioned large enough to fulfill the SLAs made between the network provider and its users. While such an approach avoids the scalability problems of the integrated service model, it is, however, rather rigid. SLAs are mainly established in a static manner or are changed only infrequently, usually on the order of days or weeks. Hence, the DiffServ model does not allow the user to increase or decrease the amount of its reserved resources in accordance with its traffic requirements. In addition to the static nature of the SLAs, specifying a QoS level for an aggregate of flows can result in unfair distribution of resources among the flows belonging to the same aggregate due to the aggressiveness of some flows, difference in round trip delays and taken paths. To ensure a specific and stable QoS level, the network provider needs to dimension its network in a manner as to provide the user with the agreed upon QoS level on any path taken by the user at any time in accordance with the SLA. As the exact paths a user's traffic might take in the network are not known in advance, a major drawback is that the network needs to be highly over-provisioned to account for all possible cases. This is even more pronounced for the case of multicast as the user's traffic might take different paths in the provider's network, and hence enough resources must be available on all paths simultaneously.
Thus it is desirable to provide a system that combines the flexibility of the IntServ model and the simplicity of the DiffServ model. A system of this type would allow users to make per-flow reservations while simultaneously keeping the networks core routers relatively simple.